/*
3018. 查找单词
DESCRIPTION
STATISTICS
9 DISCUSSIONS

Time limit per test: 2.0 seconds

Memory limit: 256 megabytes

有一个单词 W，输出它在字符串 S 中从左到右第一次出现的位置 IDX(设 S 中的第 1 个字符的位置为 1)。W 只由英文字母组成，S 除英文字母和汉字之外在任何位置（包括头和尾）另有一个或多个连续的空格。

查找单词时，不区分大小写，但要求完全匹配，即单词 W 必须与 S 中的某一独立单词在不区分大小写的情况下完全匹配。W 仅是 S 中某一单词的一部分就不算匹配。
Input

第 1 行：一个整数 T (1≤T≤10) 为问题数。

接下来共 2*T 行，对应每个问题有 2 行，表示 W 和 S （1≤W 长度≤10; 1≤S 长度≤1,000,000）。
Output


 对于每个问题，输出一行问题的编号（0 开始编号，格式：`case #0:` 等）。

然后对应每个问题在一行中输出 IDX。S 中没有找到 W 时输出 None。
Examples
Input

3
IN
Find a word within a string in English and in Chinese.
to
Find a word within a string in   English and in Chinese. 这行开头有4个空格.
In
Find a word within a string in   English and in Chinese. 这行开头有4个空格.

Output

case #0:
29
case #1:
None
case #2:
33
Hints
string.h中的函数strlwr和strlupr分别把一个字符串中的全部字符转换成小写和大写，strstr在一个字符串中找出另一字符串出现的位置。
函数strlwr：
原型：extern char *strlwr(char *s);
功能：将字符串s转换为小写形式
说明：只转换s中出现的大写字母，不改变其它字符。返回指向s的指针。
函数strupr：与函数strlwr类似
函数strstr：
原型：extern char *strstr(const char *s1, const char *s2);
功能：返回s2从左到右第1次在s1中出现的位置，如果没有找到，返回0

*/

#include <stdio.h>
#include <string.h>

// 标准库中没有这个函数，自己写一个
// 把字符串转换成小写
char *strlwr(char *src)
{
    char *p = src;
    while (*p!='\0')
    {
        if (*p>='A' && *p<='Z')
             *p += 'a'-'A';
        p++;
    }

    return src;
}

int solve(char *str, char *sub)
{
    int place=-1;
    char *p;
    char *newstr;

    //
    strlwr(sub);
    newstr = strlwr(str);   // 注意：newstr与str其实指向的是同一个位置
    while ((p=strstr(newstr, sub))!=0)  //先定位到包含sub的位置
    {
        // 判断是否为完整单词：1、这个单词位于开始位置，或者前面一个字符是空格；
        //2、这个单词的后面是空格或'\0'(字符串结束）
        if ((p==str || *(p-1)==' ') && (*(p+strlen(sub))==' '||*(p+strlen(sub))=='\0'))
        {
            place = p - str;        // 这个要返回从原始位置开始的计数
            break;
        }
        newstr = ++p;   //从下一个字符开始重新查找
    }
    if (place== -1)
        printf("None\n");
    else
        printf("%d\n", place+1);    //因为要求从1开始计数，所以加1 
    return 0;
}

int main()
{
    int t;
    char w[11], s[1000001];
    scanf("%d", &t);
    getchar();
    for (int i=0; i<t; i++)
    {
        gets(w);
        gets(s);
        printf("case #%d:\n", i);
        solve(s, w);
    }
}